#include<cstdio>
#include<queue>
using namespace std;
const int N = 100005;
priority_queue <int> q;
int n, a[N], b[N], ans[N];
int main(){
    scanf ("%d", &n);
    for(int i = 1; i <= n; i++) {
        scanf ("%d", &a[i]);
    }
    for(int i = 1; i <= n; i++){
        scanf ("%d", &b[i]);
    }
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            int x = a[i] + b[j];
            if (q.size() < n) {
                q.push(x);
            }
            else if (q.top() > x) {
                q.pop();
                q.push(x);
            } else {
            	break;
			}
        }
    }
    for(int i = n; i >= 1; i--){
        ans[i] = q.top();
        q.pop();
    }
    for(int i = 1; i <= n; i++){
        printf ("%d ", ans[i]);
    }
    return 0;
}
